g_slice_free (OstreeContentSizeCacheEntry, entry);
}
-static void
-repo_setup_generate_sizes (OstreeRepo *self,
- OstreeRepoCommitModifier *modifier)
+void
+_ostree_repo_setup_generate_sizes (OstreeRepo *self,
+ OstreeRepoCommitModifier *modifier)
{
if (modifier && modifier->flags & OSTREE_REPO_COMMIT_MODIFIER_FLAGS_GENERATE_SIZES)
{
}
else
{
- repo_setup_generate_sizes (self, modifier);
+ _ostree_repo_setup_generate_sizes (self, modifier);
g_autoptr(GPtrArray) path = g_ptr_array_new ();
if (!write_directory_to_mtree_internal (self, dir, mtree, modifier, path,
GCancellable *cancellable,
GError **error)
{
- repo_setup_generate_sizes (self, modifier);
+ _ostree_repo_setup_generate_sizes (self, modifier);
g_auto(GLnxDirFdIterator) dfd_iter = { 0, };
if (!glnx_dirfd_iterator_init_at (dfd, path, FALSE, &dfd_iter, error))
GFileInfo *file_info,
GFileInfo **out_modified_info);
+void
+_ostree_repo_setup_generate_sizes (OstreeRepo *self,
+ OstreeRepoCommitModifier *modifier);
+
gboolean
_ostree_repo_remote_name_is_file (const char *remote_name);
. $(dirname $0)/libtest.sh
-echo "1..17"
+echo "1..18"
setup_test_repository "bare"
assert_file_has_content usr/lib/libfoo.so 'a library'
echo "ok tar pathname filter modification: ${filter}"
done
+
+# Test sizes metadata. This needs an archive repo, so a separate repo is used.
+cd ${test_tmpdir}
+rm -rf repo2
+ostree_repo_init repo2 --mode=archive
+${CMD_PREFIX} ostree --repo=repo2 commit \
+ -s "from tar" -b test-tar \
+ --generate-sizes \
+ --tree=tar=foo.tar.gz
+${CMD_PREFIX} ostree --repo=repo2 show --print-sizes test-tar > sizes.txt
+assert_file_has_content sizes.txt 'Compressed size (needed/total): 0[ ]bytes/1.1[ ]kB'
+assert_file_has_content sizes.txt 'Unpacked size (needed/total): 0[ ]bytes/900[ ]bytes'
+assert_file_has_content sizes.txt 'Number of objects (needed/total): 0/12'
+echo "ok tar sizes metadata"